What is fill-range?
The fill-range npm package is used to generate an array of numbers or strings based on a given range with support for steps, negative ranges, and pattern expansion. It is often used for creating lists of numbers, expanding number and letter sequences, and generating arrays based on patterns.
What are fill-range's main functionalities?
Number Range Generation
Generates an array of numbers from 1 to 5.
[...fillRange(1, 5)]
Letter Range Generation
Generates an array of letters from 'a' to 'e'.
[...fillRange('a', 'e')]
Pattern Expansion
Expands a pattern '1..3' and applies a transformation function to each value, resulting in ['item1', 'item2', 'item3'].
[...fillRange('1..3', { transform: (val) => `item${val}` })]
Step Support
Generates an array of numbers from 1 to 10 with a step of 2, resulting in [1, 3, 5, 7, 9].
[...fillRange(1, 10, { step: 2 })]
Negative Range Support
Generates an array of numbers from -3 to 3.
[...fillRange(-3, 3)]
Other packages similar to fill-range
range-generator
This package provides similar functionality to fill-range by generating an array of numbers within a specified range. It allows for custom steps and can handle both ascending and descending ranges. Compared to fill-range, it focuses specifically on number ranges and does not support pattern expansion or letter ranges.
lodash.range
Part of the Lodash utility library, lodash.range generates an array of numbers progressing from start up to, but not including, end. It supports steps and is a lightweight alternative for number range generation. However, it does not offer the pattern expansion or letter range capabilities that fill-range does.
fill-range
Fill in a range of numbers or letters, optionally passing an increment or multiplier to use.
Install
Install with npm
npm i fill-range --save
Run tests
npm test
Usage
var range = require('fill-range');
Params
range(start, stop, increment);
start
: the number or letter to start withend
: the number or letter to end withincrement
: optionally pass the increment to use. works for letters or numbers
Examples
range(1, 3)
range('1', '3')
range('0', '-5')
range(-9, 9, 3)
range('-1', '-10', '-2')
range('1', '10', '2')
range('a', 'e')
range('a', 'e', 2)
range('A', 'E', 2)
Custom function
Optionally pass a custom function as the third or fourth argument:
range('a', 'e', function (val, isLetter, i) {
if (isLetter) {
return String.fromCharCode(val) + i;
}
return val;
});
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
License
Copyright (c) 2014 Jon Schlinkert
Released under the MIT license
This file was generated by verb on November 25, 2014.